package cn.xttc.edu.entity;

import lombok.Data;

/**
 * 封装返回JSON实体类
 * @author 杨磊
 */
@Data
public class ReturnMsg {
    /**
     * 返回状态
     */
    private boolean flag;

    /**
     * 返回数据
     */
    private Object data;

    /**
     * 返回消息
     */
    private String msg;

    /**
     * 无数据成功返回方法
     * @param msg 消息
     * @return 包装对象
     */
    public static ReturnMsg success(String msg) {
        ReturnMsg returnMsg = new ReturnMsg();
        returnMsg.flag = true;
        returnMsg.msg = msg;
        returnMsg.data = null;
        return returnMsg;
    }

    /**
     * 不需要提示信息的成功返回方法
     * @param data 数据
     * @return 包装对象
     */
    public static ReturnMsg success(Object data) {
        ReturnMsg returnMsg = new ReturnMsg();
        returnMsg.flag = true;
        returnMsg.msg = "";
        returnMsg.data = data;
        return returnMsg;
    }

    /**
     * 成功返回方法
     * @return 包装对象
     */
    public static ReturnMsg success(String msg, Object data) {
        ReturnMsg returnMsg = new ReturnMsg();
        returnMsg.flag = true;
        returnMsg.msg = msg;
        returnMsg.data = data;
        return returnMsg;
    }

    /**
     * 无数据失败返回方法
     * @param msg 消息
     * @return 包装对象
     */
    public static ReturnMsg fail(String msg) {
        ReturnMsg returnMsg = new ReturnMsg();
        returnMsg.flag = false;
        returnMsg.msg = msg;
        returnMsg.data = null;
        return returnMsg;
    }
}
